"""
学生逻辑接口层
"""

from db import models


# 学生注册接口函数
def register_interface(username, password):
    # 1. 检查用户名是否已经被使用
    student_obj = models.Student.select(username)

    # 2. 如果被使用则直接返回
    if student_obj:
        return False, "用户名已经被注册！"

    # 3. 如果没有使用则进行注册
    student_obj = models.Student(username, password)
    student_obj.register()
    
    return True, f"[{username}] 学生注册成功！"



# 学生选择学校接口函数
def select_school_interface(school_name, student):
    # 1. 检查学生是否已经选过学校
    student_obj = models.Student.select(student)

    # 2. 如果选过则直接退出
    if student_obj.school:
        return False, f"[{student}] 学生已经选过学校！"

    # 3. 如果没选过则进行选课
    student_obj.select_school(school_name)
    return True, f"[{student}] 学生选择 [{school_name}] 学校成功！"


# 学生选择课程接口函数
def select_course_interface(course_name, student):
    # 1. 检查学生是否已经选过该课程
    student_obj = models.Student.select(student)

    # 2. 如果选过则直接退出
    if course_name in student_obj.course_list:
        return "该课程已经选过！"

    # 2. 如果没有选过则选择课程
    student_obj.select_course(course_name)
    return f"[{student}] 学生选择 [{course_name}] 成功！"


# 学生查看分数接口函数
def check_score_interface(student):
    student_obj = models.Student.select(student)
    return student_obj.check_score()


# 获取学生所在的学校函数
def get_student_school_interface(student_name):
    student_obj = models.Student.select(student_name)
    return student_obj.school